unit SUScript;

interface
  uses SUClient, SUCharacter;

  Type
    PScript = class
      private
        function SinGetCharacter: PCharacter;
        function SinGetClient: PClient;
        function GetCurrentScriptPath: String;
        function GetShardPath: String;
        function GetStealthPath: String;
        function GetStealthProfilePath: String;


      public
        procedure Execute(); virtual;

        property Player : PCharacter read SinGetCharacter;
        property Client : PClient    read SinGetClient;
        property StealthPath : String read GetStealthPath;
        property CurrentScriptPath : String read GetCurrentScriptPath;
        property StealthProfilePath : String read GetStealthProfilePath;
        property ShardPath : String read GetShardPath;

    end;

implementation
  uses SUStealth;

{ PScript }

procedure PScript.Execute;
begin
  //Virtual
end;

function PScript.GetCurrentScriptPath: String;
var
  p : TPath;
begin
  Result := p.CurrentScriptPath;
end;

function PScript.GetShardPath: String;
var
  p : TPath;
begin
  Result := p.ShardPath;
end;

function PScript.GetStealthPath: String;
var
  p : TPath;
begin
  Result := p.StealthPath;
end;

function PScript.GetStealthProfilePath: String;
var
  p : TPath;
begin
  Result := p.StealthProfilePath;
end;

function PScript.SinGetCharacter: PCharacter;
begin
  Result := PCharacter.GetInstance();
end;

function PScript.SinGetClient: PClient;
begin
  Result := PClient.GetInstance();
end;

end.

